Part Number Hot Search : 
1N4730 BYD123 2SA2039 12031R0 BXF20 DTC114G 12A12 00380
Product Description
Full Text Search
 

To Download SABC163-16F25F Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  data sheet 10 .97 preliminary mi c r o c omp u ter componen t s c163-16f 16-bit cmos microcontroller
c163-16f revision history: version 10.97 preliminary previous releases: feature list 03.97 (advance information) feature list 05.96 (advance information) page subjects (changes since last revision) edition 1997-10-01 published by siemens ag, bereich halbleiter, marketing- kommunikation, balanstra?e 73, 81541 mnchen ? siemens ag 1997. all rights reserved. attention please! as far as patents or other rights of third parties are concerned, liability is only assumed for components, not for application s, processes and circuits implemented within components or assemblies. the information describes the type of component and shall not be considered as assured characteristics. terms of delivery and rights to change design reserved. for questions on technology, delivery and prices please contact the semiconductor group offices in germany or the siemens compa nies and representatives worldwide (see address list). due to technical requirements components may contain dangerous substances. for information on the types in question please cont act your nearest siemens office, semiconductor group. siemens ag is an approved cecc manufacturer. packing please use the recycling operators known to you. we can also help you C get in touch with your nearest sales office. by agreeme nt we will take packing material back, if it is sorted. you must bear the costs of transport. for packing material that is returned to us unsorted or which we are not obliged to accept, we shall have to invoice you for any costs in- curred. components used in life-support devices or systems must be expressly authorized for such purpose! critical components 1 of the semiconductor group of siemens ag, may only be used in life-support devices or systems 2 with the express written approval of the semiconductor group of siemens ag. 1 a critical component is a component used in a life-support device or system whose failure can reasonably be expected to cause the failure of that life-support device or system, or to affect its safety or effectiveness of that device or system. 2 life support devices or systems are intended (a) to be implanted in the human body, or (b) to support and/or maintain and sust ain hu- man life. if they fail, it is reasonable to assume that the health of the user may be endangered.
l high performance 16-bit cpu with 4-stage pipeline l 80 ns instruction cycle time at 25-mhz cpu clock l 400 ns multiplication (16 16 bits), 800 ns division (32 / 16 bit) l enhanced boolean bit manipulation facilities l additional instructions to support hll and operating systems l register-based design with multiple variable register banks l single-cycle context switching support l clock generation via on-chip pll or via direct or prescaled clock input l up to 16 mbytes linear address space for code and data l 1 kbyte on-chip internal ram (iram) l 128 kbyte on-chip flash eprom with 0 waitstate operation l 5 v flash programming voltage l minimum 1000 program/erase cycles l minimum 10 years data retention l programmable external bus characteristics for different address ranges l 8-bit or 16-bit external data bus l multiplexed or demultiplexed external address/data buses l five programmable chip-select signals (latched/unlatched) l hold- and hold-acknowledge bus arbitration support l 1024 bytes on-chip special function register area l idle and power down modes l 8-channel interrupt-driven single-cycle data transfer facilities via peripheral event controller (pec) l 16-priority-level interrupt system with 20 sources, sample-rate down to 40 ns l two multi-functional general purpose timer units with 5 timers l two serial channels (synchronous/asynchronous and synchronous) l programmable watchdog timer l oscillator watchdog l up to 77 general purpose i/o lines l boot support mechanism l supported by a wealth of development tools like c-compilers, macro-assembler packages, emulators, evaluation boards, hll-debuggers, simulators, logic analyzer disassemblers, programming boards l 100-pin tqfp package (thin qfp) this document describes the sab-c163-16ff and the sab-c163-16f25f . for simplicity all versions are referred to by the term c163-16f throughout this document. c16x-family of high-performance cmos 16-bit microcontrollers preliminary c163-16f 16-bit microcontroller c163-16f semiconductor group 3 1997-10-01
1997 intermediate version semiconductor group 4 1997-10-01 c163-16f introduction the c163-16f is a new derivative of the siemens c166 family of 16-bit single-chip cmos microcontrollers. it combines high cpu performance (up to 12.5 million instructions per second) with high peripheral functionality and enhanced io-capabilities. figure 1 logic symbol ordering information the ordering code for siemens microcontrollers provides an exact reference to the required product. this ordering code identifies: l the derivative itself, i.e. its function set l the specified temperature range l the package l the type of delivery. for the available ordering codes for the c163-16f please refer to the product information microcontrollers , which summarizes all available microcontroller variants. note: the ordering codes for the mask-rom versions are defined for each product after verification of the respective rom code. c163-1 6f owe
1997 intermediate version semiconductor group 5 1997-10-01 c163-16f figure 2 pin configuration tqfp package (top view) c163-16f p4.4/a20/sspce1 p4.5/a21/sspce0 p4.6/a22/sspdat p4.7/a23/sspclk owe p3.9 p3.13 p3.8
1997 intermediate version semiconductor group 6 1997-10-01 c163-16f pin definitions and functions symbol pin number input (i) output (o) function p5.10 C p5.15 98-100 1 - 3 98 99 100 1 2 3 i i i i i i i i port 5 is a 6-bit input-only port with schmitt-trigger characteristics. the pins of port 5 also serve as timer inputs: p5.10 t6eud gpt2 timer t6 ext.up/down ctrl.input p5.11 t5eud gpt2 timer t5 ext.up/down ctrl.input p5.12 t6in gpt2 timer t6 count input p5.13 t5in gpt2 timer t5 count input p5.14 t4eud gpt1 timer t4 ext.up/down ctrl.input p5.15 t2eud gpt1 timer t2 ext.up/down ctrl.input xtal1 xtal2 5 6 i o xtal1: input to the oscillator amplifier and input to the internal clock generator. xtal2: output of the oscillator amplifier circuit. to clock the device from an external source, drive xtal1, while leaving xtal2 unconnected. minimum and maximum high/low and rise/fall times specified in the ac characteristics must be observed. p3.0 C p3.13, p3.15 8 C 21, 22 9 10 11 12 13 14 15 18 19 20 22 i/o i/o i/o o i o i i i i o i/o o o o port 3 is a 15-bit (p3.14 is missing) bidirectional i/o port. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high- impedance state. port 3 outputs can be configured as push/ pull or open drain drivers. the following port 3 pins also serve for alternate functions: p3.1 t6out gpt2 timer t6 toggle latch output p3.2 capin gpt2 register caprel capture input p3.3 t3out gpt1 timer t3 toggle latch output p3.4 t3eud gpt1 timer t3 ext.up/down ctrl.input p3.5 t4in gpt1 timer t4 input for count/gate/reload/capture p3.6 t3in gpt1 timer t3 count/gate input p3.7 t2in gpt1 timer t2 input for count/gate/reload/capture p3.10 t d0 asc0 clock/data output (asyn./syn.) p3.11 r d0 asc0 data input (asyn.) or i/o (syn.) p3.12 bhe ext. memory high byte enable signal, wrh ext. memory high byte write strobe p3.15 clkout system clock output (=cpu clock)
1997 intermediate version semiconductor group 7 1997-10-01 c163-16f p4.0 C p4.7 23 - 26, 29 - 32 23 ... 26 29 30 31 32 i/o o ... o o o o o o i/o o o port 4 is an 8-bit bidirectional i/o port. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high- impedance state. in case of an external bus configuration, port 4 can be used to output the segment address lines: p4.0 a16 least significant segment addr. line ... ... ... p4.3 a19 segment address line p4.4 a20 segment address line, sspce1 ssp chip enable line 1 p4.5 a21 segment address line, sspce0 ssp chip enable line 0 p4.6 a22 segment address line, sspdat ssp data input/output line p4.7 a23 most significant segment addr. line sspclk ssp clock output line rd 33 o external memory read strobe. rd is activated for every external instruction or data read access. wr/ wrl 34 o external memory write strobe. in wr-mode this pin is activated for every external data write access. in wrl-mode this pin is activated for low byte data write accesses on a 16- bit bus, and for every data write access on an 8-bit bus. see wrcfg in register syscon for mode selection. ready 35 i ready input. when the ready function is enabled, a high level at this pin during an external memory access will force the insertion of memory cycle time waitstates until the pin returns to a low level. ale 36 o address latch enable output. can be used for latching the address into external memory or an address latch in the multiplexed bus modes. ea 37 i external access enable pin. a low level at this pin during and after reset forces the c163-16f to begin instruction execution out of external memory. a high level forces execution out of the internal rom. the c163-16f must have this pin tied to 0. pin definitions and functions (contd) symbol pin number input (i) output (o) function
1997 intermediate version semiconductor group 8 1997-10-01 c163-16f port0: p0l.0 C p0l.7, p0h.0 - p0h.7 41 C 48 51 C 58 i/o port0 consists of the two 8-bit bidirectional i/o ports p0l and p0h. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high-impedance state. in case of an external bus configuration, port0 serves as the address (a) and address/data (ad) bus in multiplexed bus modes and as the data (d) bus in demultiplexed bus modes. demultiplexed bus modes: data path width: 8-bit 16-bit p0l.0 C p0l.7: d0 C d7 d0 - d7 p0h.0 C p0h.7: i/o d8 - d15 multiplexed bus modes: data path width: 8-bit 16-bit p0l.0 C p0l.7: ad0 C ad7 ad0 - ad7 p0h.0 C p0h.7: a8 - a15 ad8 - ad15 port1: p1l.0 C p1l.7, p1h.0 - p1h.7 59 - 66 67 - 68, 71 - 76 i/o port1 consists of the two 8-bit bidirectional i/o ports p1l and p1h. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high-impedance state. port1 is used as the 16-bit address bus (a) in demultiplexed bus modes and also after switching from a demultiplexed bus mode to a multiplexed bus mode. rstin 79 i reset input with schmitt-trigger characteristics. a low level at this pin for a specified duration while the oscillator is running resets the c163-16f. an internal pullup resistor permits power-on reset using only a capacitor connected to v ss . rstout 80 o internal reset indication output. this pin is set to a low level when the part is executing either a hardware-, a software- or a watchdog timer reset. rstout remains low until the einit (end of initialization) instruction is executed. nmi 81 i non-maskable interrupt input. a high to low transition at this pin causes the cpu to vector to the nmi trap routine. when the pwrdn (power down) instruction is executed, the nmi pin must be low in order to force the c163-16f to go into power down mode. if nmi is high, when pwrdn is executed, the part will continue to run in normal mode. if not used, pin nmi should be pulled high externally. pin definitions and functions (contd) symbol pin number input (i) output (o) function
1997 intermediate version semiconductor group 9 1997-10-01 c163-16f p6.0 C p6.7 82 - 89 82 ... 86 87 88 89 i/o o ... o i i/o o port 6 is an 8-bit bidirectional i/o port. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high- impedance state. port 6 outputs can be configured as push/ pull or open drain drivers. the following port 6 pins also serve for alternate functions: p6.0 cs0 chip select 0 output ... ... ... p6.4 cs4 chip select 4 output p6.5 hold external master hold request input p6.6 hlda hold acknowledge output or input (master mode: o, slave mode: i) p6.7 breq bus request output p2.8 C p2.15 90 - 97 90 ... 97 i/o i ... i port 2 is an 8-bit bidirectional i/o port. it is bit-wise programmable for input or output via direction bits. for a pin configured as input, the output driver is put into high- impedance state. port 2 outputs can be configured as push/ pull or open drain drivers. the following port 2 pins also serve for alternate functions: p2.8 ex0in fast external interrupt 0 input ... ... ... p2.15 ex7in fast external interrupt 7 input owe 40 - oscillator watchdog enable. this pin enables the oscillator watchdog when high or disables it when low e.g. for testing purposes. an internal pullup device holds this input high if nothing is driving it. the oscillator watchdog operation is also controlled via software. v cc 7, 28, 38, 49, 69, 78 - digital supply voltage: + 5 v during normal operation and idle mode. 3 2.5 v during power down mode v ss 4, 27, 39, 50, 70, 77 - digital ground. pin definitions and functions (contd) symbol pin number input (i) output (o) function
1997 intermediate version semiconductor group 10 1997-10-01 c163-16f functional description the architecture of the c163-16f combines advantages of both risc and cisc processors and of advanced peripheral subsystems in a very well-balanced way. the following block diagram gives an overview of the different on-chip components and of the advanced, high bandwidth internal bus structure of the c163-16f. note : all time specifications refer to a cpu clock of 25 mhz (see definition in the ac characteristics section). figure 3 block diagram 128k byte flash eprom 64 byte write buffer instr. / data 32 pll progr. multiplier (0.5/1.5/2/.../4) xtal ssp module 12.5 mbit/s xbus (16-bit non mux data / addresses) port 6 port 0 port 0 port 1 port 5 port 3 port 2 external bus xbus control, 5 * cs logic t 2 t 3 t 5 t 6 t 4 brg asc usart interrupt bus interrupt bus peripheral data 16 16 pec interrupt controller 11 ext. ir cpu watchdog 16 16 data data dual port 1k dual port ram external instr. / data 8 16 8 16 6 16 8 gpt 1 gpt 2 mcb03341 c166-core
1997 intermediate version semiconductor group 11 1997-10-01 c163-16f memory organization the memory space of the c163-16f is configured in a von neumann architecture which means that code memory, data memory, registers and i/o ports are organized within the same linear address space which includes 16 mbytes. the entire memory space can be accessed bytewise or wordwise. particular portions of the on-chip memory have additionally been made directly bit addressable. the c163-16f incorporates 128 kbyte of on-chip flash memory, organized as four 32 kbyte sectors. each sector can be separately erased and programmed. a detailled description of the flash memory can be found later in this data sheet. 1 kbyte of on-chip ram is provided as a storage for user defined variables, for the system stack, general purpose register banks and even for code. a register bank can consist of up to 16 wordwide (r0 to r15) and/or bytewide (rl0, rh0, , rl7, rh7) so-called general purpose registers (gprs). 1024 bytes (2 * 512 bytes) of the address space are reserved for the special function register areas (sfr space and esfr space). sfrs are wordwide registers which are used for controlling and monitoring functions of the different on-chip units. unused sfr addresses are reserved for other/future members of the c16x family. in order to meet the needs of designs where more memory is required than is provided on chip, up to 16 mbytes of external ram and/or rom can be connected to the microcontroller.
1997 intermediate version semiconductor group 12 1997-10-01 c163-16f external bus controller all of the external memory accesses are performed by a particular on-chip external bus controller (ebc). it can be programmed either to single chip mode when no external memory is required, or to one of four different external memory access modes, which are as follows: C 16-/18-/20-/24-bit addresses, 16-bit data, demultiplexed C 16-/18-/20-/24-bit addresses, 16-bit data, multiplexed C 16-/18-/20-/24-bit addresses, 8-bit data, multiplexed C 16-/18-/20-/24-bit addresses, 8-bit data, demultiplexed in the demultiplexed bus modes, addresses are output on port1 and data is input/output on port0 or p0l, respectively. in the multiplexed bus modes both addresses and data use port0 for input/output. important timing characteristics of the external bus interface (memory cycle time, memory tri-state time, length of ale and read write delay) have been made programmable to allow the user the adaption of a wide range of different types of memories and external peripherals. in addition, up to 4 independent address windows may be defined (via register pairs addrselx / busconx) which allow to access different resources with different bus characteristics. these address windows are arranged hierarchically where buscon4 overrides buscon3 and buscon2 overrides buscon1. all accesses to locations not covered by these 4 address windows are controlled by buscon0. up to 5 external cs signals (4 windows plus default) can be generated in order to save external glue logic. the c163-16f offers the possibility to switch the cs outputs to an unlatched mode. in this mode the internal filter logic is switched off and the cs signals are directly generated from the address. the unlatched cs mode is enabled by setting cscfg (syscon.6). access to very slow memories is supported via a particular ready function. a hold/ hlda protocol is available for bus arbitration and allows to share external resources with other bus masters. the bus arbitration is enabled by setting bit hlden in register syscon. after setting hlden once, pins p6.7...p6.5 ( breq, hlda, hold) are automatically controlled by the ebc. in master mode (default after reset) the hlda pin is an output. by setting bit dp6.7 to 1 the slave mode is selected where pin hlda is switched to input. this allows to directly connect the slave controller to another master controller without glue logic. for applications which require less than 16 mbytes of external memory space, this address space can be restricted to 1 mbyte, 256 kbyte or to 64 kbyte. in this case port 4 outputs four, two or no address lines at all. it outputs all 8 address lines, if an address space of 16 mbytes is used. note: when the on-chip ssp module is to be used the segment address output on port 4 must be limited to 4 bits (i.e. a19...a16) in order to enable the alternate function of the ssp interface pins.
1997 intermediate version semiconductor group 13 1997-10-01 c163-16f central processing unit (cpu) the main core of the cpu consists of a 4-stage instruction pipeline, a 16-bit arithmetic and logic unit (alu) and dedicated sfrs. additional hardware has been spent for a separate multiply and divide unit, a bit-mask generator and a barrel shifter. based on these hardware provisions, most of the c163-16fs instructions can be executed in just one machine cycle which requires 80 ns at 25-mhz cpu clock. for example, shift and rotate instructions are always processed during one machine cycle independent of the number of bits to be shifted. all multiple-cycle instructions have been optimized so that they can be executed very fast as well: branches in 2 cycles, a 16 16 bit multiplication in 5 cycles and a 32-/16 bit division in 10 cycles. another pipeline optimization, the so-called jump cache, allows reducing the execution time of repeatedly performed jumps in a loop from 2 cycles to 1 cycle. figure 4 cpu block diagram
1997 intermediate version semiconductor group 14 1997-10-01 c163-16f the cpu disposes of an actual register context consisting of up to 16 wordwide gprs which are physically allocated within the on-chip ram area. a context pointer (cp) register determines the base address of the active register bank to be accessed by the cpu at a time. the number of register banks is only restricted by the available internal ram space. for easy parameter passing, a register bank may overlap others. a system stack of up to 1024 bytes is provided as a storage for temporary data. the system stack is allocated in the on-chip ram area, and it is accessed by the cpu via the stack pointer (sp) register. two separate sfrs, stkov and stkun, are implicitly compared against the stack pointer value upon each stack access for the detection of a stack overflow or underflow. the high performance offered by the hardware implementation of the cpu can efficiently be utilized by a programmer via the highly efficient c163-16f instruction set which includes the following instruction classes: C arithmetic instructions C logical instructions C boolean bit manipulation instructions C compare and loop control instructions C shift and rotate instructions C prioritize instruction C data movement instructions C system stack instructions C jump and call instructions C return instructions C system control instructions C miscellaneous instructions the basic instruction length is either 2 or 4 bytes. possible operand types are bits, bytes and words. a variety of direct, indirect or immediate addressing modes are provided to specify the required operands.
1997 intermediate version semiconductor group 15 1997-10-01 c163-16f interrupt system with an interrupt response time within a range from just 200 ns to 480 ns (in case of internal program execution), the c163-16f is capable of reacting very fast to the occurence of non- deterministic events. the architecture of the c163-16f supports several mechanisms for fast and flexible response to service requests that can be generated from various sources internal or external to the microcontroller. any of these interrupt requests can be programmed to being serviced by the interrupt controller or by the peripheral event controller (pec). in contrast to a standard interrupt service where the current program execution is suspended and a branch to the interrupt vector table is performed, just one cycle is stolen from the current cpu activity to perform a pec service. a pec service implies a single byte or word data transfer between any two memory locations with an additional increment of either the pec source or the destination pointer. an individual pec transfer counter is implicity decremented for each pec service except when performing in the continuous transfer mode. when this counter reaches zero, a standard interrupt is performed to the corresponding source related vector location. pec services are very well suited, for example, for supporting the transmission or reception of blocks of data. the c163-16f has 8 pec channels each of which offers such fast interrupt-driven data transfer capabilities. a separate control register which contains an interrupt request flag, an interrupt enable flag and an interrupt priority bitfield exists for each of the possible interrupt sources. via its related register, each source can be programmed to one of sixteen interrupt priority levels. once having been accepted by the cpu, an interrupt service can only be interrupted by a higher prioritized service request. for the standard interrupt processing, each of the possible interrupt sources has a dedicated vector location. fast external interrupt inputs are provided to service external interrupts with high precision requirements. these fast interrupt inputs feature programmable edge detection (rising edge, falling edge or both edges). software interrupts are supported by means of the trap instruction in combination with an individual trap (interrupt) number. the following table shows all of the possible c163-16f interrupt sources and the corresponding hardware-related interrupt flags, vectors, vector locations and trap (interrupt) numbers:
1997 intermediate version semiconductor group 16 1997-10-01 c163-16f source of interrupt or pec service request request flag enable flag interrupt vector vector location trap number external interrupt 0 cc8ir cc8ie cc8int 000060 h 18 h external interrupt 1 cc9ir cc9ie cc9int 000064 h 19 h external interrupt 2 cc10ir cc10ie cc10int 000068 h 1a h external interrupt 3 cc11ir cc11ie cc11int 00006c h 1b h external interrupt 4 cc12ir cc12ie cc12int 000070 h 1c h external interrupt 5 cc13ir cc13ie cc13int 000074 h 1d h external interrupt 6 cc14ir cc14ie cc14int 000078 h 1e h external interrupt 7 cc15ir cc15ie cc15int 00007c h 1f h gpt1 timer 2 t2ir t2ie t2int 000088 h 22 h gpt1 timer 3 t3ir t3ie t3int 00008c h 23 h gpt1 timer 4 t4ir t4ie t4int 000090 h 24 h gpt2 timer 5 t5ir t5ie t5int 000094 h 25 h gpt2 timer 6 t6ir t6ie t6int 000098 h 26 h gpt2 caprel register crir crie crint 00009c h 27 h asc0 transmit s0tir s0tie s0tint 0000a8 h 2a h asc0 transmit buffer s0tbir s0tbie s0tbint 00011c h 47 h asc0 receive s0rir s0rie s0rint 0000ac h 2b h asc0 error s0eir s0eie s0eint 0000b0 h 2c h ssp interrupt xp1ir xp1ie xp1int 000104 h 41 h pll unlock / owd xp3ir xp3ie xp3int 00010c h 43 h
1997 intermediate version semiconductor group 17 1997-10-01 c163-16f the c163-16f also provides an excellent mechanism to identify and to process exceptions or error conditions that arise during run-time, so-called hardware traps. hardware traps cause immediate non-maskable system reaction which is similar to a standard interrupt service (branching to a dedicated vector table location). the occurence of a hardware trap is additionally signified by an individual bit in the trap flag register (tfr). except when another higher prioritized trap service is in progress, a hardware trap will interrupt any actual program execution. in turn, hardware trap services can normally not be interrupted by standard or pec interrupts. the following table shows all of the possible exceptions or error conditions that can arise during run- time: exception condition trap flag trap vector vector location trap number trap priority reset functions: hardware reset software reset watchdog timer overflow reset reset reset 000000 h 000000 h 000000 h 00 h 00 h 00 h iii iii iii class a hardware traps: non-maskable interrupt stack overflow stack underflow nmi stkof stkuf nmitrap stotrap stutrap 000008 h 000010 h 000018 h 02 h 04 h 06 h ii ii ii class b hardware traps: undefined opcode protected instruction fault illegal word operand access illegal instruction access illegal external bus access undopc prtflt illopa illina illbus btrap btrap btrap btrap btrap 000028 h 000028 h 000028 h 000028 h 000028 h 0a h 0a h 0a h 0a h 0a h i i i i i reserved [2c h C 3c h ] [0b h C 0f h ] software traps trap instruction any [000000 h C 0001fc h ] in steps of 4 h any [00 h C 7f h ] current cpu priority
1997 intermediate version semiconductor group 18 1997-10-01 c163-16f general purpose timer (gpt) unit the gpt unit represents a very flexible multifunctional timer/counter structure which may be used for many different time related tasks such as event timing and counting, pulse width and duty cycle measurements, pulse generation, or pulse multiplication. the gpt unit incorporates five 16-bit timers which are organized in two separate modules, gpt1 and gpt2. each timer in each module may operate independently in a number of different modes, or may be concatenated with another timer of the same module. each of the three timers t2, t3, t4 of module gpt1 can be configured individually for one of three basic modes of operation, which are timer, gated timer, and counter mode. in timer mode, the input clock for a timer is derived from the cpu clock, divided by a programmable prescaler, while counter mode allows a timer to be clocked in reference to external events. pulse width or duty cycle measurement is supported in gated timer mode, where the operation of a timer is controlled by the gate level on an external input pin. for these purposes, each timer has one associated port pin (txin) which serves as gate or clock input. the maximum resolution of the timers in module gpt1 is 320 ns (@ 25-mhz cpu clock). the count direction (up/down) for each timer is programmable by software or may additionally be altered dynamically by an external signal on a port pin (txeud) to facilitate e. g. position tracking. figure 5 block diagram of gpt1 timer t3 has an output toggle latch (t3otl) which changes its state on each timer over-flow/ underflow. the state of this latch may be output on port a pin (t3out) e.g. for time out monitoring of external hardware components, or may be used internally to clock timers t2 and t4 for measuring long time periods with high resolution.
1997 intermediate version semiconductor group 19 1997-10-01 c163-16f in addition to their basic operating modes, timers t2 and t4 may be configured as reload or capture registers for timer t3. when used as capture or reload registers, timers t2 and t4 are stopped. the contents of timer t3 is captured into t2 or t4 in response to a signal at their associated input pins (txin). timer t3 is reloaded with the contents of t2 or t4 triggered either by an external signal or by a selectable state transition of its toggle latch t3otl. when both t2 and t4 are configured to alternately reload t3 on opposite state transitions of t3otl with the low and high times of a pwm signal, this signal can be constantly generated without software intervention. figure 6 block diagram of gpt2 with its maximum resolution of 160 ns (@ 25 mhz), the gpt2 module provides precise event control and time measurement. it includes two timers (t5, t6) and a capture/reload register (caprel). both timers can be clocked with an input clock which is derived from the cpu clock via a programmable prescaler or with external signals. the count direction (up/down) for each timer is programmable by software or may additionally be altered dynamically by an external signal on a port pin (txeud). timer t6 has an output toggle latch (t6otl) which changes its state on each timer overflow/underflow. concatenation of the timers is supported via t6otl. the state of this latch may be used to clock timer t5, or it may be output on a port pin (t6out). the overflows/underflows of timer t6 can additionally be used to clock the capcom timers t0 or t1, and to cause a reload from the caprel register. the caprel register may capture the contents of timer t5 based on an external signal transition on the corresponding port pin (capin), and timer t5 may optionally be cleared after the capture procedure. this allows absolute time differences to be measured or pulse multiplication to be performed without software overhead.
1997 intermediate version semiconductor group 20 1997-10-01 c163-16f parallel ports the c163-16f provides up to 77 i/o lines which are organized into six input/output ports and one input port. all port lines are bit-addressable, and all input/output lines are individually (bit-wise) programmable as inputs or outputs via direction registers. the i/o ports are true bidirectional ports which are switched to high impedance state when configured as inputs. the output drivers of three i/o ports can be configured (pin by pin) for push/pull operation or open-drain operation via control registers. during the internal reset, all port pins are configured as inputs. all port lines have programmable alternate input or output functions associated with them. port0 and port1 may be used as address and data lines when accessing external memory, while port 4 outputs the additional segment address bits a23/19/17...a16 in systems where segmentation is enabled to access more than 64 kbytes of memory. port 6 provides optional bus arbitration signals ( breq, hlda, hold) and chip select signals. port 3 includes alternate functions of timers, serial interfaces, the optional bus control signal bhe and the system clock output (clkout). port 5 is used for timer control signals. all port lines that are not used for these alternate functions may be used as general purpose i/o lines. serial channels serial communication with other microcontrollers, processors, terminals or external peripheral components is provided by two serial interfaces with different functionality, an asynchronous/ synchronous serial channel (asc0) and a synchronous serial port (ssp). the asc0 is upward compatible with the serial ports of the siemens 8-bit microcontroller families and supports full-duplex asynchronous communication at up to 625 kbaud and half-duplex synchronous communication at up to 2.5 mbaud @ 20 mhz cpu clock. a dedicated baud rate generator allows to set up all standard baud rates without oscillator tuning. for transmission, reception and error handling 4 separate interrupt vectors are provided. in asynchronous mode, 8- or 9-bit data frames are transmitted or received, preceded by a start bit and terminated by one or two stop bits. for multiprocessor communication, a mechanism to distinguish address from data bytes has been included (8-bit data plus wake up bit mode). in synchronous mode, the asc0 transmits or receives bytes (8 bits) synchronously to a shift clock which is generated by the asc0. the asc0 always shifts the lsb first. a loop back option is available for testing purposes. a number of optional hardware error detection capabilities has been included to increase the reliability of data transfers. a parity bit can automatically be generated on transmission or be checked on reception. framing error detection allows to recognize data frames with missing stop bits. an overrun error will be generated, if the last character received has not been read out of the receive buffer register at the time the reception of a new character is complete. the ssp transmits 1...3 bytes or receives 1 byte after sending 1...3 bytes synchronously to a shift clock which is generated by the ssp. the ssp can start shifting with the lsb or with the msb and allows to select shifting and latching clock edges as well as the clock polarity. up to two chip select lines may be activated in order to direct data transfers to one or both of two peripheral devices. one general interrupt vector is provided for the ssp.
1997 intermediate version semiconductor group 21 1997-10-01 c163-16f watchdog timer the watchdog timer represents one of the fail-safe mechanisms which have been implemented to prevent the controller from malfunctioning for longer periods of time. the watchdog timer is always enabled after a reset of the chip, and can only be disabled in the time interval until the einit (end of initialization) instruction has been executed. thus, the chips start-up procedure is always monitored. the software has to be designed to service the watchdog timer before it overflows. if, due to hardware or software related failures, the software fails to do so, the watchdog timer overflows and generates an internal hardware reset and pulls the rstout pin low in order to allow external hardware components to be reset. the watchdog timer is a 16-bit timer, clocked with the system clock divided either by 2 or by 128. the high byte of the watchdog timer register can be set to a prespecified reload value (stored in wdtrel) in order to allow further variation of the monitored time interval. each time it is serviced by the application software, the high byte of the watchdog timer is reloaded. thus, time intervals between 20 s and 336 ms can be monitored (@ 25 mhz). the default watchdog timer interval after reset is 5.24 ms (@ 25 mhz). oscillator watchdog the oscillator watchdog (owd) monitors the clock signal generated by the on-chip oscillator (either with a crystal or via external clock drive). for this operation the pll provides a clock signal which is used to supervise transitions on the oscillator clock. this pll clock is independent from the xtal1 clock. when the expected oscillator clock transitions are missing the owd activates the pll unlock / owd interrupt node and supplies the cpu with the pll clock signal. under these circumstances the pll will oscillate with its basic frequency. the oscillator watchdog of the c163-16f can be disabled in two ways: l provide a low level on pin owe, or l set bit owddis (syscon.4). if either condition is true the on-chip oscillator watchdog is disabled and the cpu clock is always fed from the oscillator input. after reset the oscillator watchdog is enabled and active. the operation of the owd is controlled according to the table below: note: the cpu clock source is only switched back to the oscillator clock after a hardware reset. owddis = 0 owddis = 1 owe = 0, ie. v owe = v il disabled disabled owe = 1, ie. v ih v owe < 13.2v owd active disabled
1997 intermediate version semiconductor group 22 1997-10-01 c163-16f flash memory overview the on-chip flash module of the c163-16f has a capacity of 128 kbyte and combines the advantages of a very fast read access of 32 bit in one machine cycle with protected but simple writing algorithms for programming and erase. read accesses of code and data are possible in any addressing mode, thus realizing the highest cpu performance with fetch of double word instructions in a single cycle. based on the flash cell concept (split gate) special algorithms for over/ under-programming or erase, with verify operations, are not necessary. for optimized programming efficiency, a burst (paging) mode is offered which allows to load up to 64 bytes into an assembly buffer with normal cpu timing before this buffer is stored into the flash with a write command. the algorithms for the program and erase operations are automatically controlled by the internal command state machine. note: erased flash memory cells contain all 0s, contrary to standard eproms. the c163-16f flash module is a 1 mbit, 5 volt-only flash memory organized as 32k doublewords of 32 bit each. the physical structure of the flash array allows simultaneous access to 64 byte for write operations. the lower 32 kbytes of the on-chip flash memory of the c163-16f can be mapped to either segment 0 (000000 h to 007fff h ) or segment 1 (010000 h to 017fff h ) during the initialization phase to allow external memory to be used for additional system flexibility. the upper 96 kbytes of the on-chip flash memory are assigned to locations 018000 h to 02ffff h . figure 7 mapping of the on-chip flash module sectors 2 1 0 02'ffff h 02'0000 01'8000 00'0000 h h h 01'0000 h 0 1 3 2 64 - 128 k 32 - 64 k 0 - 32 k 01'ffff h 01'0000 h 00'0000 h 00'8000 h physical flash address mapping mcs03668 memory segments physical flash space
1997 intermediate version semiconductor group 23 1997-10-01 c163-16f in standard mode (the normal operating mode) the flash memory appears like the standard on-chip rom of c167 devices with the same timing and functionality. instruction fetches and data operand reads are performed with all addressing modes of the c16x instruction set. programming and erasing is controlled via special command sequences. this avoids inadvertent destruction of the flash contents at a reasonably low software overhead. command sequences consist of subsequent write (or read) accesses to virtual locations within the flash space. these virtual locations are defined by special addresses (see command sequence table) and require register-indirect addressing. flash memory configuration upon reset the default memory configuration of the c163-16f is determined by the state of its ea pin. when ea is high the startup code is fetched from the on-chip flash memory, when ea is low the internal flash is disabled and the startup code is fetched from external memory. in order to access the on-chip flash memory after booting from external memory the internal flash must be enabled via software by setting bit romen in register syscon. the lower 32 kbytes of the flash memory can be mapped to segment 0 or to segment 1, controlled by bit roms1 in register syscon. mapping to segment 1 preserves the external memory containing the startup code, while mapping to segment 0 replaces the lower 32 kbytes of the external memory with on- chip flash memory. in this case a valid vector table must be provided in the flash memory. as the on-chip flash memory covers more than segment 0 segmentation should be enabled (by clearing bit sgtdis in register syscon) in order to ensure correct stack handling when branching to the upper segments. whenever the internal memory configuration of the c163-16f is changed (enable, disable, mapping) the following procedure must be used to ensure correct operation: l configure the internal flash as required l execute an inter-segment branch (jmps, calls, rets) l reload all four dpp registers note: instructions that configure the internal flash may only be executed from internal ram or from external memory, not from the flash itself. register syscon can only be modified before the execution of the einit instruction. boot support the c163-16fs boot support provides a mechanism to load the startup code and/or the flash programming routines from a remote code source e.g. via a serial interface without requiring additional external memory. this allows for firmware updates of the flash memory for program and/ or data values. when the boot support is enabled (by configuring pin p0l.4 low during reset) the c163-16f will start code execution at location 020000 h rather than at location 000000 h . note: the boot support mechanism is not supported by the a-step devices.
1997 intermediate version semiconductor group 24 1997-10-01 c163-16f flash operating modes for the operation of the on-chip flash module basically three operating modes can be distinguished: in standard read mode the flash memory appears like a standard rom allowing all code and data accesses in any addressing mode without waitstates. standard read mode is entered: l after the deactivation of cpu reset (max. 100 s after reset state is finished) l after a successful erase operation l after a successful programming operation l when a command sequence error is detected l after a reset to read command note: standard read mode is indicated by status bit busy=0. in burst mode a programming operation is prepared by writing to the flash assembly buffer. burst mode begins after the enter burst mode command sequence and ends after the store burst command sequence. burst mode allows the assembly (writing) of 32 words (=64 bytes) at standard cpu speed, which are the programmed in a single self-timed programming cycle. burst mode is only left after the store burst command sequence, if the buffer was filled with exactly 32 words. if more or less than 32 words have been written the store burst command will not be executed and a burst error is indicated instead (buer=1). note: during burst mode standard read accesses can still be executed. however, the code to fill the buffer must be executed from locations outside the flash memory (e.g. ram or external memory). in command mode the c163-16f executes a flash command (erase sector, program buffer, reset state machine, etc.) which has been defined by a previous command sequence. during command mode (indicated by bit busy=1) no other flash operations/accesses are possible except for reading the flash status. general rules for command sequences: l code must be executed from locations outside the flash memory l all addresses must point into the active flash space l only register-indirect addressing is possible l pauses between command cycles are allowed note: carefully check the addresses used during command sequences. when using dpps or ext instructions the resulting address must be within the active flash space. for the special addresses (see table below) bits a15...a1 are regarded. a sector address must point to the first (lowest) location within the target sector.
1997 intermediate version semiconductor group 25 1997-10-01 c163-16f command sequences the table below summarizes the implemented command sequences and describes how to execute them (please note that register-indirect addressing is required): notes : wloc is the burst base address to which the 64-byte buffer shall be written, e.g. 01abc0 h . wdat is the data word which shall be stored in the buffer. sloc is the first location within the target sector, e.g. 018000 h for sector 1. no read : the first cycle after an enter burst mode or load burst data command sequence will return dummy data if a read access to the flash area is executed. the locations wloc and sloc refer to the first (lowest) location within the respective block, i.e. a 64-byte buffer block for wloc and a 32-kbyte sector for sloc. all bits that represent the offset in this block must be 0, the higher address bits identify the block. the first word of programming data is written to the buffer with the enter burst mode command, the last word is written with the store burst buffer command. the medium 30 words are written with load burst data commands. note that wloc is the same for a complete programming sequence as the buffer address is incremented internally. the read flash status command sequence may be executed during command mode in order to check the busy bit of the flash module. caution: writing to a flash page (space for the 64-byte buffer) more than once before erasing may destroy data stored in neighbour cells! this is especially important for programming algorithms that do not write to sequential locations. command sequence definitions cycle reset to read mode enter burst mode load burst data store burst buffer erase sector read flash status clear status 1 a = aaaa h d = xxf0 h a = aaaa h d = xx50 h a = a0f2 h d = wdat a = aaaa h d = xxaa h a = aaaa h d = xxaa h a = aaaa h d = xxfa h a = aaaa h d = xxf5 h 2 a = wloc d = wdat no read a = 5554 h d = xx55 h a = 5554 h d = xx55 h a = sloc d = status 3 no read a = aaaa h d = xxa0 h a = aaaa h d = xx80 h 4 a = wloc d = wdat a = 5554 h d = xxaa h 5 a = aaaa h d = xx55 h 6 a = sloc d = xx30 h
1997 intermediate version semiconductor group 26 1997-10-01 c163-16f the flash status register fsr reflects the overall and also sector specific status of the flash module. therefore the register address of the fsr is the sector address sloc (as defined above) where bit se is sector specific and all other bits are identical within each sector. fsr ( sector address ) reset value: 0000 h note: the status register is a read-only register. only the four error flags in the fsr are affected with the clear status command, indicated by r(w). bit function busy flash busy (summarizes the single busy bits) 0: ready. flash command execution is completed, module is in std. read mode. 1: busy. embedded algorithms for command execution are in progress. prog programming state 0: there is no programming operation in progress. 1: flash busy with programming operation (store burst in operation). erase erase state 0: there is no erase operation in progress. 1: flash busy with erase operation. brst burst mode 0: flash not in burst mode. 1: flash in burst mode, i.e. assembly register being filled. note: burst and read mode may occur concurrently. oper operation error (cleared via clear status command) 0: flash operation successfully terminated or currently running. 1: flash array operation not successfully terminated, error in flash operation. vper voltage error (cleared via clear status command) 0: no problem of programming voltage during flash array operation. 1: flash array operation not successful because of a prog. voltage problem. sqer command sequence error (cleared via clear status command) 0: no command sequence error detected. 1: state machine operation aborted because of an illegal command sequence. buer burst error (cleared via clear status command) 0: burst operation successfully terminated or currently running. 1: overflow or underload condition in burst mode detected. se sector erased (sector specific status bit) 0: sector has not been erased since the last reset. 1: sector has been successfully erased. erase - oper vper brst buer - - - - se sqer prog - - - busy 5 4 3 2 1 0 11 10 9 8 7 6 15 14 13 12 - r r - - - - r r(w) r r - - r - - r(w) r(w) r(w) -
1997 intermediate version semiconductor group 27 1997-10-01 c163-16f operation control and error handling command execution is started with the last command of the respective command sequence and is indicated by the respective state flag (prog for programming, erase for erasing) as well as by the summarizing busy flag. while polling busy is sufficient to detect the end of a command execution it is recommended to check the error flags afterwards so an aborted command can be detected. the command execution should therefore use the following general structure: l write command sequence to flash module l ensure correct sequence by checking bit sqer l poll busy to determine the command termination l check error flags oper, vper, buer (whatever is appropriate) l if error: clear flags via clear status or reset and act upon it (e.g. with a retry operation) the table below gives examples of software actions to be taken after a specific error has been detected: reset processing upon a cpu reset the flash module resets its state machine and enters the standard read mode after the internal voltages have stabilized. the internal voltages need to ramp up (e.g. after power down) or to ramp down (e.g. after an interrupted programming or erase operation). this power stabilization phase is completed after maximum 100 s. the reset condition of cpu and flash module is lengthened until power has stabilized. note: the lengthened reset condition is not reflected via pin rstin in bidirectional reset mode. the reset lengthening is disabled in case of an external start after reset. software reactions to error conditions detected error fault condition software reaction sqer sequence error wrong command/sector address, wrong command code, illegal command sequence check address or code and repeat with correct values. oper operation error aborted programming or erase operation due to sw or wdt reset repeat flash operation. vper voltage error power supply failure compare data. erase sector, if data is faulty. repeat flash operation. note that previous blocks must be reprogrammed after a sector erase. buer burst error burst buffer overrun, burst buffer underload repeat load sequence with correct word count.
1997 intermediate version semiconductor group 28 1997-10-01 c163-16f external host mode programming in addition to the method described above the c163-16fs flash module may also programmed by external programming devices. external host mode (ehm) is enabled by selecting emulation mode (p0l.0=0) and also pulling low pin p0l.5. pins p0l.5...0 represent 01 1110 in this case. in external host mode the signals to control a programming cycle are generated by an external host using the c163-16fs bus interface. the external host provides the data to be programmed. the c163-16f itself is switched off and its flash module can be accessed like standalone memory. the following port pins represent the interface to the c163-16fs flash module in ehm: the access cycles generated by the external host must fulfill the timing requirements shown in the timing diagrams above. note: ehm is a varity of the emulation mode where pin p0.15 (p0l.7) is inverted during the reset configuration. this influences the selected clock generation mode. for ehm operation direct drive or prescaler mode must be configured. if the on-chip oscillator is not supplied with a clock signal the oscillator watchdog must not be disabled, so the pll can provide the clock signal instead. signal ale is used for internal synchronization and for the state machine. therefore the following rules must be obeyed: l min. 1 dummy read cycle after each command sequence. l min. 20 dummy read cycles after each program or erase command. l min. 2 dummy read cycles before each read status command. external host mode interface signals signal pin description addr p4.0, p1h.7 - p1l.1 physical flash word address (address line a0 is not evaluated). data p0h.7 - p0l.0 word to be written or read rd rd read cycle control wr wr programming cycle control ce p3.9 flash enable signal ale ale address latch enable (indicates begin of bus cycle and is used for synchronization) rstout rstout must be held high (pullup resistor)
1997 intermediate version semiconductor group 29 1997-10-01 c163-16f the figure below shows typical external 100 ns access cycles (f cpu = 20 mhz). please note that ce must be activated at least 120 s before the 1st access cycle. figure 8 asynchronous flash access cycle in external host mode 1) this requirement exceeds the respective requirement for the standard xbus. ale addr data rd wr data read cycle write cycle data out data in mct03666 > 15 < 45 > 5 > 0 > 5 > 0 > 60 >30 >10 > -15 > 60 1)
1997 intermediate version semiconductor group 30 1997-10-01 c163-16f instruction set summary the table below lists the instructions of the c163-16f in a condensed way. the various addressing modes that can be used with a specific instruction, the operation of the instructions, parameters for conditional execution of instructions, and the opcodes for each instruction can be found in the c16x family instruction set manual . this document also provides a detailled description of each instruction. instruction set summary mnemonic description bytes add(b) add word (byte) operands 2 / 4 addc(b) add word (byte) operands with carry 2 / 4 sub(b) subtract word (byte) operands 2 / 4 subc(b) subtract word (byte) operands with carry 2 / 4 mul(u) (un)signed multiply direct gpr by direct gpr (16-16-bit) 2 div(u) (un)signed divide register mdl by direct gpr (16-/16-bit) 2 divl(u) (un)signed long divide reg. md by direct gpr (32-/16-bit) 2 cpl(b) complement direct word (byte) gpr 2 neg(b) negate direct word (byte) gpr 2 and(b) bitwise and, (word/byte operands) 2 / 4 or(b) bitwise or, (word/byte operands) 2 / 4 xor(b) bitwise xor, (word/byte operands) 2 / 4 bclr clear direct bit 2 bset set direct bit 2 bmov(n) move (negated) direct bit to direct bit 4 band, bor, bxor and/or/xor direct bit with direct bit 4 bcmp compare direct bit to direct bit 4 bfldh/l bitwise modify masked high/low byte of bit-addressable direct word memory with immediate data 4 cmp(b) compare word (byte) operands 2 / 4 cmpd1/2 compare word data to gpr and decrement gpr by 1/2 2 / 4 cmpi1/2 compare word data to gpr and increment gpr by 1/2 2 / 4 prior determine number of shift cycles to normalize direct word gpr and store result in direct word gpr 2 shl / shr shift left/right direct word gpr 2 rol / ror rotate left/right direct word gpr 2 ashr arithmetic (sign bit) shift right direct word gpr 2
1997 intermediate version semiconductor group 31 1997-10-01 c163-16f mov(b) move word (byte) data 2 / 4 movbs move byte operand to word operand with sign extension 2 / 4 movbz move byte operand to word operand. with zero extension 2 / 4 jmpa, jmpi, jmpr jump absolute/indirect/relative if condition is met 4 jmps jump absolute to a code segment 4 j(n)b jump relative if direct bit is (not) set 4 jbc jump relative and clear bit if direct bit is set 4 jnbs jump relative and set bit if direct bit is not set 4 calla, calli, callr call absolute/indirect/relative subroutine if condition is met 4 calls call absolute subroutine in any code segment 4 pcall push direct word register onto system stack and call absolute subroutine 4 trap call interrupt service routine via immediate trap number 2 push, pop push/pop direct word register onto/from system stack 2 scxt push direct word register onto system stack und update register with word operand 4 ret return from intra-segment subroutine 2 rets return from inter-segment subroutine 2 retp return from intra-segment subroutine and pop direct word register from system stack 2 reti return from interrupt service subroutine 2 srst software reset 4 idle enter idle mode 4 pwrdn enter power down mode (supposes nmi-pin being low) 4 srvwdt service watchdog timer 4 diswdt disable watchdog timer 4 einit signify end-of-initialization on rstout-pin 4 atomic begin atomic sequence 2 extr begin extended register sequence 2 extp(r) begin extended page (and register) sequence 2 / 4 exts(r) begin extended segment (and register) sequence 2 / 4 nop null operation 2 instruction set summary (contd) mnemonic description bytes
1997 intermediate version semiconductor group 32 1997-10-01 c163-16f special function registers overview the following table lists all sfrs which are implemented in the c163-16f in alphabetical order. bit-addressable sfrs are marked with the letter b in column name. sfrs within the extended sfr-space (esfrs) are marked with the letter e in column physical address. registers within on-chip x-peripherals (ssp) are marked with the letter x in column physical address. an sfr can be specified via its individual mnemonic name. depending on the selected addressing mode, an sfr can be accessed via its physical address (using the data page pointers), or via its short 8-bit address (without using the data page pointers). special function registers overview name physical address 8-bit address description reset value addrsel1 fe18 h 0c h address select register 1 0000 h addrsel2 fe1a h 0d h address select register 2 0000 h addrsel3 fe1c h 0e h address select register 3 0000 h addrsel4 fe1e h 0f h address select register 4 0000 h buscon0 b ff0c h 86 h bus configuration register 0 0xx0 h buscon1 b ff14 h 8a h bus configuration register 1 0000 h buscon2 b ff16 h 8b h bus configuration register 2 0000 h buscon3 b ff18 h 8c h bus configuration register 3 0000 h buscon4 b ff1a h 8d h bus configuration register 4 0000 h caprel fe4a h 25 h gpt2 capture/reload register 0000 h cc8ic b ff88 h c4 h ex0in interrupt control register 0000 h cc9ic b ff8a h c5 h ex1in interrupt control register 0000 h cc10ic b ff8c h c6 h ex2in interrupt control register 0000 h cc11ic b ff8e h c7 h ex3in interrupt control register 0000 h cc12ic b ff90 h c8 h ex4in interrupt control register 0000 h cc13ic b ff92 h c9 h ex5in interrupt control register 0000 h cc14ic b ff94 h ca h ex6in interrupt control register 0000 h cc15ic b ff96 h cb h ex7in interrupt control register 0000 h cp fe10 h 08 h cpu context pointer register fc00 h cric b ff6a h b5 h gpt2 caprel interrupt control register 0000 h csp fe08 h 04 h cpu code segment pointer register (read only) 0000 h
1997 intermediate version semiconductor group 33 1997-10-01 c163-16f dp0l b f100 h e 80 h p0l direction control register 00 h dp0h b f102 h e 81 h p0h direction control register 00 h dp1l b f104 h e 82 h p1l direction control register 00 h dp1h b f106 h e 83 h p1h direction control register 00 h dp2 b ffc2 h e1 h port 2 direction control register 0000 h dp3 b ffc6 h e3 h port 3 direction control register 0000 h dp4 b ffca h e5 h port 4 direction control register 00 h dp6 b ffce h e7 h port 6 direction control register 00 h dpp0 fe00 h 00 h cpu data page pointer 0 register (10 bits) 0000 h dpp1 fe02 h 01 h cpu data page pointer 1 register (10 bits) 0001 h dpp2 fe04 h 02 h cpu data page pointer 2 register (10 bits) 0002 h dpp3 fe06 h 03 h cpu data page pointer 3 register (10 bits) 0003 h exicon b f1c0 h e e0 h external interrupt control register 0000 h idchip f07c h e 3e h identifier 08xx h idmanuf f07e h e 3f h identifier 1820 h idmem f07a h e 3d h identifier 3020 h idprog f078 h e 3c h identifier 4040 h mdc b ff0e h 87 h cpu multiply divide control register 0000 h mdh fe0c h 06 h cpu multiply divide register C high word 0000 h mdl fe0e h 07 h cpu multiply divide register C low word 0000 h odp2 b f1c2 h e e1 h port 2 open drain control register 0000 h odp3 b f1c6 h e e3 h port 3 open drain control register 0000 h odp6 b f1ce h e e7 h port 6 open drain control register 00 h ones ff1e h 8f h constant value 1s register (read only) ffff h p0l b ff00 h 80 h port 0 low register (lower half of port0) 00 h p0h b ff02 h 81 h port 0 high register (upper half of port0) 00 h p1l b ff04 h 82 h port 1 low register (lower half of port1) 00 h p1h b ff06 h 83 h port 1 high register (upper half of port1) 00 h p2 b ffc0 h e0 h port 2 register 0000 h special function registers overview (contd) name physical address 8-bit address description reset value
1997 intermediate version semiconductor group 34 1997-10-01 c163-16f p3 b ffc4 h e2 h port 3 register 0000 h p4 b ffc8 h e4 h port 4 register (8 bits) 00 h p5 b ffa2 h d1 h port 5 register (read only) xxxx h p6 b ffcc h e6 h port 6 register (8 bits) 00 h pecc0 fec0 h 60 h pec channel 0 control register 0000 h pecc1 fec2 h 61 h pec channel 1 control register 0000 h pecc2 fec4 h 62 h pec channel 2 control register 0000 h pecc3 fec6 h 63 h pec channel 3 control register 0000 h pecc4 fec8 h 64 h pec channel 4 control register 0000 h pecc5 feca h 65 h pec channel 5 control register 0000 h pecc6 fecc h 66 h pec channel 6 control register 0000 h pecc7 fece h 67 h pec channel 7 control register 0000 h psw b ff10 h 88 h cpu program status word 0000 h rp0h b f108 h e 84 h system startup configuration register (rd. only) xx h s0bg feb4 h 5a h serial channel 0 baud rate generator reload register 0000 h s0con b ffb0 h d8 h serial channel 0 control register 0000 h s0eic b ff70 h b8 h serial channel 0 error interrupt control register 0000 h s0rbuf feb2 h 59 h serial channel 0 receive buffer register (read only) xx h s0ric b ff6e h b7 h serial channel 0 receive interrupt control register 0000 h s0tbic b f19c h e ce h serial channel 0 transmit buffer interrupt control register 0000 h s0tbuf feb0 h 58 h serial channel 0 transmit buffer register (write only) 00 h s0tic b ff6c h b6 h serial channel 0 transmit interrupt control register 0000 h sp fe12 h 09 h cpu system stack pointer register fc00 h sspcon0 ef00 h x --- ssp control register 0 0000 h sspcon1 ef02 h x --- ssp control register 1 0000 h special function registers overview (contd) name physical address 8-bit address description reset value
1997 intermediate version semiconductor group 35 1997-10-01 c163-16f 1) the system configuration is selected during reset. 2) bit wdtr indicates a watchdog timer triggered reset. ssprtb ef04 h x --- ssp receive/transmit buffer xxxx h ssptbh ef06 h x --- ssp transmit buffer high xxxx h stkov fe14 h 0a h cpu stack overflow pointer register fa00 h stkun fe16 h 0b h cpu stack underflow pointer register fc00 h syscon b ff12 h 89 h cpu system configuration register 0xx0 h 1) t2 fe40 h 20 h gpt1 timer 2 register 0000 h t2con b ff40 h a0 h gpt1 timer 2 control register 0000 h t2ic b ff60 h b0 h gpt1 timer 2 interrupt control register 0000 h t3 fe42 h 21 h gpt1 timer 3 register 0000 h t3con b ff42 h a1 h gpt1 timer 3 control register 0000 h t3ic b ff62 h b1 h gpt1 timer 3 interrupt control register 0000 h t4 fe44 h 22 h gpt1 timer 4 register 0000 h t4con b ff44 h a2 h gpt1 timer 4 control register 0000 h t4ic b ff64 h b2 h gpt1 timer 4 interrupt control register 0000 h t5 fe46 h 23 h gpt2 timer 5 register 0000 h t5con b ff46 h a3 h gpt2 timer 5 control register 0000 h t5ic b ff66 h b3 h gpt2 timer 5 interrupt control register 0000 h t6 fe48 h 24 h gpt2 timer 6 register 0000 h t6con b ff48 h a4 h gpt2 timer 6 control register 0000 h t6ic b ff68 h b4 h gpt2 timer 6 interrupt control register 0000 h tfr b ffac h d6 h trap flag register 0000 h wdt feae h 57 h watchdog timer register (read only) 0000 h wdtcon ffae h d7 h watchdog timer control register 000x h 2) xp1ic b f18e h e c7 h ssp interrupt control register 0000 h xp3ic b f19e h e cf h pll/owd interrupt control register 0000 h zeros b ff1c h 8e h constant value 0s register (read only) 0000 h special function registers overview (contd) name physical address 8-bit address description reset value
1997 intermediate version semiconductor group 36 1997-10-01 c163-16f absolute maximum ratings ambient temperature under bias ( t a ): sab-c163-16f-lf, sab-c163-16f-l25f ......................................................................0 to + 70 ?c storage temperature ( t st )........................................................................................ C 65 to + 150 ?c voltage on v cc pins with respect to ground ( v ss ) ..................................................... C 0.5 to + 6.5 v voltage on any pin with respect to ground ( v ss ) .................................................C 0.5 to v cc + 0.5 v input current on any pin during overload condition .................................................. C 10 to + 10 ma absolute sum of all input currents during overload condition ............................................. |100 ma| power dissipation.............................................................................................................. ....... 1.5 w note: stresses above those listed under absolute maximum ratings may cause permanent damage to the device. this is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. during overload conditions ( v in > v cc or v in < v ss ) the voltage on pins with respect to ground ( v ss ) must not exceed the values defined by the absolute maximum ratings. parameter interpretation the parameters listed in the following partly represent the characteristics of the c163-16f and partly its demands on the system. to aid in interpreting the parameters right, when evaluating them for a design, they are marked in column symbol: cc ( c ontroller c haracteristics): the logic of the c163-16f will provide signals with the respective timing characteristics. sr ( s ystem r equirement): the external system must provide signals with the respective timing characteristics to the c163-16f.
1997 intermediate version semiconductor group 37 1997-10-01 c163-16f dc characteristics v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f parameter symbol limit values unit test condition min. max. input low voltage v il sr C 0.5 0.2 v cc C 0.1 vC input high voltage (all except rstin and xtal1) v ih sr 0.2 v cc + 0.9 v cc + 0.5 v C input high voltage rstin v ih1 sr 0.6 v cc v cc + 0.5 v C input high voltage xtal1 v ih2 sr 0.7 v cc v cc + 0.5 v C output low voltage (port0, port1, port 4, ale, rd, wr, bhe, clkout, rstout) v ol cc C 0.45 v i ol = 2.4 ma output low voltage (all other outputs) v ol1 cc C 0.45 v i ol1 = 1.6 ma output high voltage (port0, port1, port 4, ale, rd, wr, bhe, clkout, rstout) v oh cc 0.9 v cc 2.4 Cv i oh = C 500 a i oh = C 2.4 ma output high voltage 1) (all other outputs) v oh1 cc 0.9 v cc 2.4 Cv v i oh = C 250 a i oh = C 1.6 ma input leakage current (port 5) i oz1 cc C 200 na 0 v < v in < v cc input leakage current (all other) i oz2 cc C 500 na 0 v < v in < v cc overload current i ov sr C 5ma 2) 3) rstin pullup resistor r rst cc 50 150 k w C read/write inactive current 4) i rwh 5) C C 40 a v out = 2.4 v read/write active current 4) i rwl 6) -500 C a v out = v olmax ale inactive current 4) i alel 5) C40a v out = v olmax ale active current 4) i aleh 6) 500 C a v out = 2.4 v port 6 inactive current 4) i p6h 5) C -40 a v out = 2.4 v port 6 active current 4) i p6l 6) -500 C a v out = v ol1max port0 configuration current 4) i p0h 5) C C 10 a v in = v ihmin i p0l 6) -100 C a v in = v ilmax xtal1 input current i il cc C 20 a 0 v < v in < v cc pin capacitance 3) (digital inputs/outputs) c io cc C 10 pf f = 1 mhz t a = 25 ?c
1997 intermediate version semiconductor group 38 1997-10-01 c163-16f notes 1) this specification is not valid for outputs which are switched to open drain mode. in this case the respective output will float and the voltage results from the external circuitry. 2) overload conditions occur if the standard operatings conditions are exceeded, i.e. the voltage on any pin exceeds the specified range (i.e. v ov >v cc +0.5v, except pin owe, or v ov 1997 intermediate version semiconductor group 39 1997-10-01 c163-16f figure 9 supply/idle current as a function of operating frequency note: *) the indicated i ccmax is tested under reset conditions. program execution out of the internal flash memory adds 20 ma (typically) to the current consumption in active mode. 0 0 10 50 ma 100 150 cpu f mhz mcs03665 ccmax i flash 51015202530 cctyp i *) idtyp i idmax i
1997 intermediate version semiconductor group 40 1997-10-01 c163-16f testing waveforms figure 10 input output waveforms figure 11 float waveforms ac inputs during testing are driven at 2.4 v for a logic 1 and 0.4 v for a logic 0. timing measurements are made at v ih min for a logic 1 and v il max for a logic 0. for timing purposes a port pin is no longer floating when a 100 mv change from load voltage occurs, but begins to float when a 100 mv change from the loaded v oh / v ol level occurs ( i oh / i ol = 20 ma).
1997 intermediate version semiconductor group 41 1997-10-01 c163-16f ac characteristics definition of internal timing the internal operation of the c163-16f is controlled by the internal cpu clock f cpu . both edges of the cpu clock can trigger internal (e.g. pipeline) or external (e.g. bus cycles) operations. the specification of the external timing (ac characteristics) therefore depends on the time between two consecutive edges of the cpu clock, called tcl (see figure below). figure 12 generation mechanisms for the cpu clock the cpu clock signal can be generated via different mechanisms. the duration of tcls and their variation (and also the derived external timing) depends on the used mechanism to generate f cpu . this influence must be regarded when calculating the timings for the c163-16f. note: the example for pll operation shown in the figure above refers to a pll factor of 4. the used mechanism to generate the cpu clock is selected during reset via the logic levels on pins p0.15-13 (p0h.7-5). the table below associates the combinations of these three bits with the respective clock generation mode. tcl tcl tcl tcl tcl tcl phase locked loop operation direct clock drive prescaler operation f xtal cpu f cpu f xtal f cpu f xtal f mcd03664
1997 intermediate version semiconductor group 42 1997-10-01 c163-16f c163-16f clock generation modes 1) the external clock input range refers to a cpu clock range of 10...25 mhz. 2) the maximum depends on the duty cycle of the external clock signal. prescaler operation when pins p0.15-13 (p0h.7-5) equal 001 during reset the cpu clock is derived from the internal oscillator (input clock signal) by a 2:1 prescaler. the frequency of f cpu is half the frequency of f xtal and the high and low time of f cpu (i.e. the duration of an individual tcl) is defined by the period of the input clock f xtal . the timings listed in the ac characteristics that refer to tcls therefore can be calculated using the period of f xtal for any tcl. direct drive when pins p0.15-13 (p0h.7-5) equal 011 during reset the on-chip phase locked loop is disabled and the cpu clock is directly driven from the internal oscillator with the input clock signal. the frequency of f cpu directly follows the frequency of f xtal so the high and low time of f cpu (i.e. the duration of an individual tcl) is defined by the duty cycle of the input clock f xtal . the timings listed below that refer to tcls therefore must be calculated using the minimum tcl that is possible under the respective circumstances. this minimum value can be calculated via the following formula: tcl min = 1/f xtal * dc min (dc = duty cycle) for two consecutive tcls the deviation caused by the duty cycle of f xtal is compensated so the duration of 2tcl is always 1/f xtal . the minimum value tcl min therefore has to be used only once for timings that require an odd number of tcls (1,3,...). timings that require an even number of tcls (2,4,...) may use the formula 2tcl = 1/f xtal . note: the address float timings in multiplexed bus mode (t 11 and t 45 ) use the maximum duration of tcl (tcl max = 1/f xtal * dc max ) instead of tcl min . p0.15-13 (p0h.7-5) cpu frequency f cpu = f xtal * f external clock input range 1) notes 111 f xtal * 4 2.5 to 6.25 mhz default configuration 110 f xtal * 3 3.33 to 8.33 mhz 101 f xtal * 2 5 to 12.5 mhz 100 f xtal * 5 2 to 5 mhz 011 f xtal * 1 1 to 25 mhz direct drive 2) 010 f xtal * 1.5 6.66 to 16.6 mhz 001 f xtal / 2 2 to 50 mhz cpu clock via prescaler 000 f xtal * 2.5 4 to 10 mhz
1997 intermediate version semiconductor group 43 1997-10-01 c163-16f phase locked loop for all other combinations of pins p0.15-13 (p0h.7-5) during reset the on-chip phase locked loop is enabled and provides the cpu clock (see table above). the pll multiplies the input frequency by the factor f which is selected via the combination of pins p0.15-13 (i.e. f cpu = f xtal * f ). with every f th transition of f xtal the pll circuit synchronizes the cpu clock to the input clock. this synchronization is done smoothely, i.e. the cpu clock frequency does not change abruptly. due to this adaptation to the input clock the frequency of f cpu is constantly adjusted so it is locked to f xtal . the slight variation causes a jitter of f cpu which also effects the duration of individual tcls. the timings listed in the ac characteristics that refer to tcls therefore must be calculated using the minimum tcl that is possible under the respective circumstances. the actual minimum value for tcl depends on the jitter of the pll. as the pll is constantly adjusting its output frequency so it corresponds to the applied input frequency (crystal or oscillator) the relative deviation for periods of more than one tcl is lower than for one single tcl (see formula and figure below). for a period of n * tcl the minimum value is computed using the corresponding deviation d n : tcl min = tcl nom * (1 - d n / 100) d n = (4 - n /15) [%], where n = number of consecutive tcls and 1 n 40. so for a period of 3 tcls (i.e. n = 3): d 3 = 4 - 3 /15 = 3.8%, and (3tcl) min = 3tcl nom * (1 - 3.8 / 100) = 3tcl nom * 0.962 (57.72 nsec @ f cpu = 25 mhz). this is especially important for bus cycles using waitstates and e.g. for the operation of timers, serial interfaces, etc. for all slower operations and longer periods (e.g. pulse train generation or measurement, lower baudrates, etc.) the deviation caused by the pll jitter is neglectible. figure 13 approximated maximum pll jitter 0 1 2 3 4 max.jitter n 0 2 4 8 16 32 % mcd03663 this approximated formula is valid for 1 < n < 40 and 10 mhz < f cpu < 25 mhz.
1997 intermediate version semiconductor group 44 1997-10-01 c163-16f ac characteristics external clock drive xtal1 v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f 1) the minimum and maximum oscillator periods for pll operation depend on the selected cpu clock generation mode. please see respective table above. 2) the clock input signal must reach the defined levels v il and v ih2 . figure 14 external clock drive xtal1 memory cycle variables the timing tables below use three variables which are derived from the busconx registers and represent the special characteristics of the programmed memory cycle. the following table describes, how these variables are to be computed. parameter symbol direct drive 1:1 prescaler 2:1 pll 1:n unit min. max. min. max. min. max. oscillator period t osc sr 40 1000 20 500 60 1) 500 1) ns high time t 1 sr 18 2) C6C10Cns low time t 2 sr 18 2) C6C10Cns rise time t 3 sr C 10 2) C6 2) C10 2) ns fall time t 4 sr C 10 2) C6 2) C10 2) ns description symbol values ale extension t a tcl * memory cycle time waitstates t c 2tcl * (15 - ) memory tristate time t f 2tcl * (1 - )
1997 intermediate version semiconductor group 45 1997-10-01 c163-16f ac characteristics multiplexed bus v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f c l (for port0, port1, port 4, ale, rd, wr, bhe, clkout) = 100 pf c l (for port 6, cs) = 100 pf ale cycle time = 6 tcl + 2 t a + t c + t f (120 ns at 25 mhz cpu clock without waitstates) parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max. ale high time t 5 cc 10 + t a C tcl - 10 + t a Cns address setup to ale t 6 cc 4 + t a C tcl - 16 + t a Cns address hold after ale t 7 cc 10 + t a C tcl - 10 + t a Cns ale falling edge to rd, wr (with rw-delay) t 8 cc 10 + t a C tcl - 10 + t a Cns ale falling edge to rd, wr (no rw-delay) t 9 cc -10 + t a C -10 + t a Cns address float after rd, wr (with rw-delay) t 10 cc C6C6ns address float after rd, wr (no rw-delay) t 11 cc C 26 C tcl + 6 ns rd, wr low time (with rw-delay) t 12 cc 30 + t c C 2tcl - 10 + t c Cns rd, wr low time (no rw-delay) t 13 cc 50 + t c C 3tcl - 10 + t c Cns rd to valid data in (with rw-delay) t 14 sr C 20 + t c C 2tcl - 20 + t c ns rd to valid data in (no rw-delay) t 15 sr C 40 + t c C 3tcl - 20 + t c ns ale low to valid data in t 16 sr C 40 + t a + t c C 3tcl - 20 + t a + t c ns address to valid data in t 17 sr C 50 +2 t a + t c C 4tcl - 30 +2 t a + t c ns data hold after rd rising edge t 18 sr0C0Cns data float after rd t 19 sr C 26 + t f C 2tcl - 14 + t f ns
1997 intermediate version semiconductor group 46 1997-10-01 c163-16f data valid to wr t 22 cc 20 + t c C 2tcl - 20 + t c Cns data hold after wr t 23 cc 26 + t f C 2tcl - 14 + t f Cns ale rising edge after rd, wr t 25 cc 26 + t f C 2tcl - 14 + t f Cns address hold after rd, wr t 27 cc 26 + t f C 2tcl - 14 + t f Cns ale falling edge to cs t 38 cc -4 - t a 10 - t a -4 - t a 10 - t a ns cs low to valid data in t 39 sr C 40 + t c +2 t a C 3tcl - 20 + t c +2 t a ns cs hold after rd, wr t 40 cc 46 + t f C 3tcl - 14 + t f Cns ale fall. edge to rdcs, wrcs (with rw delay) t 42 cc 16 + t a C tcl - 4 + t a Cns ale fall. edge to rdcs, wrcs (no rw delay) t 43 cc -4 + t a C-4 + t a Cns address float after rdcs, wrcs (with rw delay) t 44 ccC0C0ns address float after rdcs, wrcs (no rw delay) t 45 cc C 20 C tcl ns rdcs to valid data in (with rw delay) t 46 sr C 16 + t c C 2tcl - 24 + t c ns rdcs to valid data in (no rw delay) t 47 sr C 36 + t c C 3tcl - 24 + t c ns rdcs, wrcs low time (with rw delay) t 48 cc 30 + t c C 2tcl - 10 + t c Cns rdcs, wrcs low time (no rw delay) t 49 cc 50 + t c C 3tcl - 10 + t c Cns data valid to wrcs t 50 cc 26 + t c C 2tcl - 14 + t c Cns data hold after rdcs t 51 sr0C0Cns data float after rdcs t 52 sr C 20 + t f C 2tcl - 20 + t f ns parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max.
1997 intermediate version semiconductor group 47 1997-10-01 c163-16f address hold after rdcs, wrcs t 54 cc 20 + t f C 2tcl - 20 + t f Cns data hold after wrcs t 56 cc 20 + t f C 2tcl - 20 + t f Cns parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max.
1997 intermediate version semiconductor group 48 1997-10-01 c163-16f figure 15-1 external memory cycle: multiplexed bus, with read/write delay, normal ale ale csx a23 - a16 (a15 - a8) bhe bus rd rdcsx wr, wrl, wrh wrcsx read cycle write cycle address data in data out mct03662 address address 5 t 16 t 25 t 39 t t 38 t 40 t 17 t 6 t 54 t 27 t 7 19 t t 18 51 t 52 t t 14 t 12 t 44 t 46 t 48 23 t 56 t t 10 t 44 t 12 t 48 t 50 t 8 t 8 t 10 t 42 t 22 t 42 bus
1997 intermediate version semiconductor group 49 1997-10-01 c163-16f figure 15-2 external memory cycle: multiplexed bus, with read/write delay, extended ale ale csx a23 - a16 (a15 - a8) bhe bus rd rdcsx wr, wrl, wrh wrcsx bus read cycle write cycle address data in data out mct03661 address 5 t 16 t 25 t 39 t t 38 t 40 t 17 t 6 t 54 t 27 t 7 19 t t 18 51 t 52 t 23 t 56 t address 8 t 42 t 44 t 10 t 14 t 48 t t 12 t 46 t 8 t 10 12 t t 22 t 44 42 t 50 t t 48
1997 intermediate version semiconductor group 50 1997-10-01 c163-16f figure 15-3 external memory cycle: multiplexed bus, no read/write delay, normal ale ale csx a23 - a16 (a15 - a8) bhe bus rd rdcsx wr, wrl, wrh wrcsx read cycle write cycle address data in data out mct03660 address address 5 t 16 t 25 t 39 t t 38 t 40 t 17 t 6 t 54 t 27 t 7 19 t t 18 51 t 52 t 11 t 9 t t 15 t 13 t 45 43 t t 47 t 49 23 t 56 t t 11 9 t t 45 t 43 t 13 t 49 t 50 bus t 22
1997 intermediate version semiconductor group 51 1997-10-01 c163-16f figure 15-4 external memory cycle: multiplexed bus, no read/write delay, extended ale ale csx a23 - a16 (a15 - a8) bhe bus rd rdcsx wr, wrl, wrh wrcsx bus read cycle write cycle address data in data out mct03659 address 5 t 16 t 25 t 39 t t 38 t 40 t 17 t 6 t 54 t 27 t 7 19 t t 18 51 t 52 t 23 t 56 t address 9 t 43 t 45 t 11 t 15 t 49 t t 13 t 47 t 9 t 11 13 t t 22 t 45 43 t 50 t t 49
1997 intermediate version semiconductor group 52 1997-10-01 c163-16f ac characteristics demultiplexed bus v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f c l (for port0, port1, port 4, ale, rd, wr, bhe, clkout) = 100 pf c l (for port 6, cs) = 100 pf ale cycle time = 4 tcl + 2 t a + t c + t f (80 ns at 25 mhz cpu clock without waitstates) parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max. ale high time t 5 cc 10 + t a C tcl - 10 + t a Cns address setup to ale t 6 cc 4 + t a C tcl - 16 + t a Cns ale falling edge to rd, wr (with rw-delay) t 8 cc 10 + t a C tcl - 10 + t a Cns ale falling edge to rd, wr (no rw-delay) t 9 cc -10 + t a C -10 + t a Cns rd, wr low time (with rw-delay) t 12 cc 30 + t c C 2tcl - 10 + t c Cns rd, wr low time (no rw-delay) t 13 cc 50 + t c C 3tcl - 10 + t c Cns rd to valid data in (with rw-delay) t 14 sr C 20 + t c C 2tcl - 20 + t c ns rd to valid data in (no rw-delay) t 15 sr C 40 + t c C 3tcl - 20 + t c ns ale low to valid data in t 16 sr C 40 + t a + t c C 3tcl - 20 + t a + t c ns address to valid data in t 17 sr C 50 +2 t a + t c C 4tcl - 30 +2 t a + t c ns data hold after rd rising edge t 18 sr0C0Cns data float after rd rising edge (with rw-delay 1) ) t 20 sr C 26 + t f C 2tcl - 14 +2 t a + t f 1) ns data float after rd rising edge (no rw-delay 1) ) t 21 sr C 10 + t f C tcl - 10 +2 t a + t f 1) ns data valid to wr t 22 cc 20 + t c C 2tcl - 20 + t c Cns data hold after wr t 24 cc 10 + t f C tcl - 10 + t f Cns
1997 intermediate version semiconductor group 53 1997-10-01 c163-16f 1) rw-delay and t a refer to the next following bus cycle. 2) read data are latched with the same clock edge that triggers the address change and the rising rd edge. therefore address changes before the end of rd have no impact on read cycles. ale rising edge after rd, wr t 26 cc -10 + t f C -10 + t f Cns address hold after wr 2) t 28 cc 0 + t f C0 + t f Cns ale falling edge to cs t 38 cc -4 - t a 10 - t a -4 - t a 10 - t a ns cs low to valid data in t 39 sr C 40 + t c +2 t a C 3tcl - 20 + t c +2 t a ns cs hold after rd, wr t 41 cc 6 + t f C tcl - 14 + t f Cns ale falling edge to rdcs, wrcs (with rw-delay) t 42 cc 16 + t a C tcl - 4 + t a Cns ale falling edge to rdcs, wrcs (no rw-delay) t 43 cc -4 + t a C-4 + t a Cns rdcs to valid data in (with rw-delay) t 46 sr C 16 + t c C 2tcl - 24 + t c ns rdcs to valid data in (no rw-delay) t 47 sr C 36 + t c C 3tcl - 24 + t c ns rdcs, wrcs low time (with rw-delay) t 48 cc 30 + t c C 2tcl - 10 + t c Cns rdcs, wrcs low time (no rw-delay) t 49 cc 50 + t c C 3tcl - 10 + t c Cns data valid to wrcs t 50 cc 26 + t c C 2tcl - 14 + t c Cns data hold after rdcs t 51 sr0C0Cns data float after rdcs (with rw-delay) t 53 sr C 20 + t f C 2tcl - 20 + t f ns data float after rdcs (no rw-delay) t 68 sr C 0 + t f C tcl - 20 + t f ns address hold after rdcs, wrcs t 55 cc -6 + t f C-6 + t f Cns data hold after wrcs t 57 cc 6 + t f C tcl - 14 + t f Cns parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max.
1997 intermediate version semiconductor group 54 1997-10-01 c163-16f figure 16-1 external memory cycle: demultiplexed bus, with read/write delay, normal ale ale csx a23 - a16 a15 - a0 bhe bus (d15 - d8) d7 - d0 rd rdcsx wr, wrl, wrh wrcsx d7 - d0 (d15 - d8) bus read cycle write cycle address data in data out mct03658 5 t 16 t 26 t 39 t 38 t 41 t 28 t 6 t 17 t 55 t 20 t 18 t 8 t 14 t 12 t 46 t 51 t 53 t 48 t 24 t 57 t 22 t 8 t 12 t 50 t 42 t 48 t t 42
1997 intermediate version semiconductor group 55 1997-10-01 c163-16f figure 16-2 external memory cycle: demultiplexed bus, with read/write delay, extended ale ale csx a23 - a16 a15 - a0 bhe rd rdcsx wr, wrl, wrh wrcsx read cycle write cycle address data in data out mct03672 5 t 16 t 26 t 39 t t 38 t 41 t 17 t 6 t 56 t 28 20 t t 18 51 t 53 t 24 t 57 t 8 t 42 t 14 t 48 t t 12 t 46 t 8 12 t t 22 42 t 50 t t 48 bus (d15 - d8) d7 - d0 d7 - d0 (d15 - d8) bus
1997 intermediate version semiconductor group 56 1997-10-01 c163-16f figure 16-3 external memory cycle: demultiplexed bus, no read/write delay, normal ale ale csx a23 - a16 a15 - a0 bhe bus (d15 - d8) d7 - d0 rd rdcsx wr, wrl, wrh wrcsx d7 - d0 (d15 - d8) bus read cycle write cycle address data in data out mct03671 5 t 16 t 26 t 39 t 38 t 41 t 28 t 6 t 17 t 55 t 21 t 18 t 9 t 15 t 13 t 47 t 51 t 68 t 49 t 24 t 57 t 22 t 13 t 50 t 49 t t 43 9 t 43 t
1997 intermediate version semiconductor group 57 1997-10-01 c163-16f figure 16-4 external memory cycle: demultiplexed bus, no read/write delay, extended ale data out data in t 38 address ale csx a23-a16 a15-a0 bhe read cycle rd rdcsx write cycle wr, wrl, wrh wrcsx t 5 t 16 t 17 t 6 t 39 t 41 t 26 t 28 t 18 t 21 t 15 t 47 t 13 t 49 t 22 t 24 t 13 t 49 t 9 t 43 t 43 t 9 t 50 t 51 t 55 t 68 t 57 bus (d15-d8) d7-d0 bus (d15-d8) d7-d0
1997 intermediate version semiconductor group 58 1997-10-01 c163-16f ac characteristics unlatched chip select the c163-16f provides the standard latched cs mode known from other c166-family derivatives and optinally an unlatched cs mode. in this case the cs signals are directly derived from the address and are output without latching. unlatched cs mode is selected with bit cscfg = 1 (syscon.6). the table and the figure below describe the cs timing in unlatched mode. figure 17 external memory cycle: unlatched cs signal parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max. address to cs (unlatched cs mode) t 69 cc0505ns cs hold after wr t 70 cc 0 15 0 15 ns ale csx a23 - a16 (a15 - a8) bhe address mct03675 5 t 16 t 26 t 39 t t 38 t 41 t 6 t 70 t 28 t 55 t 17 t 89 (latched) (unlatched) csx
1997 intermediate version semiconductor group 59 1997-10-01 c163-16f ac characteristics clkout and ready v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f c l (for port0, port1, port 4, ale, rd, wr, bhe, clkout) = 100 pf c l (for port 6, cs) = 100 pf notes 1) these timings are given for test purposes only, in order to assure recognition at a specific clock edge. 2) demultiplexed bus is the worst case. for multiplexed bus 2tcl are to be added to the maximum values. this adds even more time for deactivating ready. the 2t a and t c refer to the next following bus cycle, t f refers to the current bus cycle. parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max. clkout cycle time t 29 cc 40 40 2tcl 2tcl ns clkout high time t 30 cc 14 C tcl C 6 C ns clkout low time t 31 cc 10 C tcl C 10 C ns clkout rise time t 32 ccC4C4ns clkout fall time t 33 ccC4C4ns clkout rising edge to ale falling edge t 34 cc 0 + t a 10 + t a 0 + t a 10 + t a ns synchronous ready setup time to clkout t 35 sr 14 C 14 C ns synchronous ready hold time after clkout t 36 sr4C4Cns asynchronous ready low time t 37 sr 54 C 2tcl + 14 C ns asynchronous ready setup time 1) t 58 sr 14 C 14 C ns asynchronous ready hold time 1) t 59 sr 4C4Cns async. ready hold time after rd, wr high (demultiplexed bus) 2) t 60 sr 00 + 2 t a + t c + t f 2) 0 tcl - 20 +2 t a + t c + t f 2) ns
1997 intermediate version semiconductor group 60 1997-10-01 c163-16f figure 18 clkout and ready notes 1) cycle as programmed, including mctc waitstates (example shows 0 mctc ws). 2) the leading edge of the respective command depends on rw-delay. 3) ready sampled high at this sampling point generates a ready controlled waitstate, ready sampled low at this sampling point terminates the currently running bus cycle. 4) ready may be deactivated in response to the trailing (rising) edge of the corresponding command ( rd or wr). 5) if the asynchronous ready signal does not fulfill the indicated setup and hold times with respect to clkout (e.g. because clkout is not enabled), it must fulfill t 37 in order to be safely synchronized. this is guaranteed, if ready is removed in response to the command (see note 4) ). 6) multiplexed bus modes have a mux waitstate added after a bus cycle, and an additional mttc waitstate may be inserted here. for a multiplexed bus with mttc waitstate this delay is 2 clkout cycles, for a demultiplexed bus without mttc waitstate this delay is zero. 7) the next external bus cycle may start here. 2) 3) 3) 3) 3) 6) 4) mct03674 37 t see t 60 59 t 58 t 59 t 58 t 35 t 36 t 35 t 36 t t 34 31 t 30 t 33 t t 32 29 t running cycle ready waitstate mux/tristate 1) 7) clkout ale command rd, wr sync ready async ready 6) 5)
1997 intermediate version semiconductor group 61 1997-10-01 c163-16f ac characteristics external bus arbitration v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f c l (for port0, port1, port 4, ale, rd, wr, bhe, clkout) = 100 pf c l (for port 6, cs) = 100 pf parameter symbol max. cpu clock = 25 mhz variable cpu clock 1 / 2tcl = 1 to 25 mhz unit min. max. min. max. hold input setup time to clkout t 61 sr 20 C 20 C ns clkout to hlda high or breq low delay t 62 cc C 20 C 20 ns clkout to hlda low or breq high delay t 63 cc C 20 C 20 ns csx release t 64 cc C 20 C 20 ns csx drive t 65 cc -4 24 -4 24 ns other signals release t 66 cc C 20 C 20 ns other signals drive t 67 cc -4 24 -4 24 ns
1997 intermediate version semiconductor group 62 1997-10-01 c163-16f figure 19 external bus arbitration, releasing the bus notes 1) the c163-16f will complete the currently running bus cycle before granting bus access. 2) this is the first possibility for breq to get active. 3) the cs outputs will be resistive high (pullup) after t 64 . 61 t 63 t 62 t 64 t 66 t 1) 1) clkout hold hlda breq csx (on p6.x) other signals mct03673 2) 3)
1997 intermediate version semiconductor group 63 1997-10-01 c163-16f figure 20 external bus arbitration, (regaining the bus) notes 1) this is the last chance for breq to trigger the indicated regain-sequence. even if breq is activated earlier, the regain-sequence is initiated by hold going high. please note that hold may also be deactivated without the c163-16f requesting the bus. 2) the next c163-16f driven bus cycle may start here. 61 t 62 t 62 t clkout hold hlda breq csx (on p6.x) other signals mct03670 t 62 63 t 65 t 67 t 2) 1)
1997 intermediate version semiconductor group 64 1997-10-01 c163-16f ac characteristics synchronous serial port timing v cc = 5 v 10 %; v ss = 0 v t a = 0 to +70 ?c for sab-c163-16f-lf, sab-c163-16f-l25f c l = 100 pf parameter symbol max. baudrate = 12.5 / 10 mbd variable baudrate = 0.5 to 12.5 mbd unit min. max. min. max. ssp clock cycle time t 200 cc 80 / 100 80 / 100 4 tcl 512 tcl ns ssp clock high time t 201 cc 30 / 40 C / C t 200 /2 - 10 C ns ssp clock low time t 202 cc 30 / 40 C / C t 200 /2 - 10 C ns ssp clock rise time t 203 cc C / C 6 / 6 C 6 ns ssp clock fall time t 204 cc C / C 6 / 6 C 6 ns ce active before shift edge t 205 cc 30 / 40 C / C t 200 /2 - 10 C ns ce inactive after latch edge t 206 cc 70 / 90 90 / 110 t 200 - 10 t 200 + 10 ns write data valid after shift edge t 207 cc C / C 10 / 10 C 10 ns write data hold after shift edge t 208 cc 0 / 0 C / C 0 C ns write data hold after latch edge t 209 cc 34 / 44 46 / 56 t 200 /2 - 6 t 200 /2 + 6 ns read data active after latch edge t 210 sr 50 / 60 C / C t 200 /2 + 10 C ns read data setup time before latch edge t 211 sr 20 / 20 C / C 20 C ns read data hold time after latch edge t 212 sr 0 / 0 C / C 0 C ns
1997 intermediate version semiconductor group 65 1997-10-01 c163-16f figure 21 ssp write timing figure 22 ssp read timing notes 1) the transition of shift and latch edge of sspclk is programmable. this figure uses the falling edge as shift edge (drawn bold). 2) the bit timing is repeated for all bits to be transmitted or received. 3) the active level of the chip enable lines is programmable. this figure uses an active low ce (drawn bold). at the end of a transmission or reception the ce signal is disabled in single transfer mode. in continuous transfer mode it remains active. sspclk sspcex sspdat 200 t t 202 t 201 t 203 204 t 208 t 209 t 207 t 208 t 207 t 207 t 2nd bit 1st bit last bit 2) 3) mct03679 1) 205 t sspclk sspcex sspdat 206 t 212 t 2) 3) mct03669 last in bit 1st in bit 1) last wr. bit 210 t 211 t 208 t
1997 intermediate version semiconductor group 66 1997-10-01 c163-16f package outline figure 23 plastic package, p-tqfp-100-3 (smd) (plastic thin metric quad flat package) sorts of packing package outlines for tubes, trays etc. are contained in our data book package information. smd = surface mounted device dimensions in mm


▲Up To Search▲   

 
Price & Availability of SABC163-16F25F

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X